<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>相等运算符</title>
    <script>
        /*
        相等运算符：主要用来比较两个值是否相等，相等返回true，否则返回false

        == 比较两个值是否相等
            会做自动类型转换，如果比较的两个值不是同一类型，解析器会先将它们转为相同类型，然后再比较，注意通常情况是把不同类型的值转为数字
                特殊情况：1.null和其他类型进行比较的时候，不会转换为数值
                        2.null跟undefined做相等比较时，会返回true
                        3.NaN不和任何值相等，包括自身
        != 不相等
            检查两个值是否不等
            会做自动类型转换，如果比较的两个值不是同一类型，解析器会先将它们转为相同类型，然后再比较，注意通常情况是把不同类型的值转为数字
                特殊情况：1.null和其他类型进行比较的时候，不会转换为数值
                        2.null跟undefined做相等比较时，会返回false
                        3.NaN不和任何值相等，包括自身
        === 全等比较
            对两个值作全等比较，类型不同不会转换。
                null跟undefined做全等比较时，会返回false，即null跟undefined相等但不全等
                NaN不和任何值全等，包括自身
        !== 不全等
            对两个值作不全等比较，类型不同不会转换。
            null跟undefined做全等比较时，会返回true，即null跟undefined相等但不全等
                NaN和任何值都不全等
        */

        var result = 10 == 10;          //true
        result = 10 == 5;               //false
        result = 'hello' == 'hello';    //true
        result = '10' == 10;            //true
        result = 'true' == true;        //true
        result = NaN != NaN;        //true
        result = null !== undefined;        //true
        result = NaN !== NaN;        //true
        result = null != 0;        //true

        console.log('result =', result);
       /* //检查一个值是否是NaN，需要使用isNaN()函数
        var a = NaN;
        console.log(isNaN(a));*/



    </script>


</head>
<body>

</body>
</html>